package com.example.spring_aop.aspect;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ElementType.METHOD})//表示这个注解是用于方法上的注解
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAspect {

    /*
     * @Target常用取值：
     * ElementType.TYPE：用于描述类、接口或enum声明
     * ElementType.METHOD：用于描述方法
     * ElementType.PARAMETER:用于描述参数
     * ELementType.TYPE_USER:可以标注任意类型
     *
     * @Retention指的是Annottion被保留的时间长短，标明注解的声明周期
     * 常用取值：
     * RetentionPolicy.SOURCE：在编译时丢弃，编译后就没有该注解
     * RetentionPolicy.CLASS：在类加载时丢弃，运行时没有该注解
     * RetentionPolicy.RUNTIME：在运行时保留，可以通过反射获取该注解
     */


}
